Learning how to prevent return-oriented programming efficiently
نویسندگان
چکیده
The discovery of recent zero-day exploits against Microsoft Word, Adobe Flash Player and Internet Explorer demonstrate that return-oriented programming (ROP) is the most severe threat to software system security. Microsoft’s 2013 Software Vulnerability Exploitation trend report found that 73% of all vulnerabilities are exploited via ROP. The core idea of ROP is to exploit the presence of so-called gadgets, small instruction sequences ending in a return instruction. By chaining gadgets together, an attacker is able to build complex exploits. The apparent popularity of ROP is explained by its power to bypass most contemporary exploit mitigation mechanisms, such as data execution prevention (DEP) and address space layout randomization (ASLR). DEP and similar page-protection schemes prevent the execution of injected binary code, but ROP re-uses code already present in the executable memory segments, eliminating the need to inject code. ASLR randomizes the location of most libraries and executables, however, finding code segments left in a few statically known locations is often enough to leverage a ROP attack. Since the inception of ROP by Shacham [Sh07], research on ROP resembles an arms race: emerging defense techniques are continuously circumvented by increasingly subtle attacks [CW14].
منابع مشابه
What Causes Persistence of Stock Return Volatility? One Possible Explanation with an Artificial Stock Market
This paper explores the mechanism on how the persistence of the stock return volatility is created using a model of an agent-based stock market. First, artificial stock markets with different learning mechanisms, i.e., individual and social learning are examined. The simulation result shows that a social learning economy produces persistence of return volatility while an individual learning eco...
متن کاملSurvey of return-oriented programming defense mechanisms
A prominent software security violation-buffer overflow attack has taken various forms and poses serious threats until today. One such vulnerability is return-oriented programming attack. An return-oriented programming attack circumvents the dynamic execution prevention, which is employed in modern operating systems to prevent execution of data segments, and attempts to execute unintended instr...
متن کاملROP is Still Dangerous: Breaking Modern Defenses
Return Oriented Programming (ROP) has become the exploitation technique of choice for modern memory-safety vulnerability attacks. Recently, there have been multiple attempts at defenses to prevent ROP attacks. In this paper, we introduce three new attack methods that break many existing ROP defenses. Then we show how to break kBouncer and ROPecker, two recent low-overhead defenses that can be a...
متن کاملIncorporating Return on Inventory Investment into Joint Lot-Sizing and Price Discriminating Decisions: A Fuzzy Chance Constraint Programming Model
Coordination of market decisions with other aspects of operations management such as production and inventory decisions has long been a meticulous research issue in supply chain management. Generally, changes to the original lot-sizing policy stimulated by market prices may impose remarkable deviation revenue throughout the supply and demand chain system. This paper examines how to set the chan...
متن کاملDwarf Frankenstein is still in your memory: tiny code reuse attacks
Code reuse attacks such as return oriented programming and jump oriented programming are the most popular exploitation methods among attackers. A large number of practical and non-practical defenses are proposed that differ in their overhead, the source code requirement, detection rate and implementation dependencies. However, a usual aspect among these methods is consideration of the common be...
متن کامل